package cn.com.connext.scrm.domain.master;

import com.connext.common.domain.UUIDDomain;

import javax.persistence.*;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.ZonedDateTime;
import java.util.Date;

@Entity
@Table(name = "student")
public class Student implements UUIDDomain, Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private String id;

    @Column(name = "customer_no")
    private String customerNo;

    @NotNull
    @Column(name = "name", nullable = false, length = 50)
    @Size(max = 50)
    private String name;

    @Column(name = "lesson_no")
    private String lessonNo;

    @Column(name = "lesson")
    private String lesson;

    @Column(name = "city_name")
    private String cityName;

    @Column(name = "district_name")
    private String districtName;

    @Column(name = "lesson_time")
    private Date lessonTime;

    @Column(name = "belong")
    private String belong;

    @Column(name = "belong_Remark")
    private String belongRemark;

    @NotNull
    @Column(name = "mobile", nullable = false, length = 20)
    @Size(max = 20)
    private String mobile;

    @Column(name = "payment")
    private String payment;

    @NotNull
    @Column(name = "is_invoice")
    private Boolean isInvoice;

    @Column(name = "invoice_information", length = 200)
    @Size(max = 200)
    private String invoiceInformation;

    @NotNull
    @Column(name = "send_status")
    private Boolean sendStatus;

    @Column(name = "free_goods")
    private String freeGoods;

    @NotNull
    @Column(name = "is_sign")
    private Boolean isSign;

    @NotNull
    @Column(name = "is_pass")
    private Boolean isPass;

    @Column(name = "score")
    private Double score;

    @Column(name = "express_num")
    private String expressNum;

    @Column(name = "express_com")
    private String expressCom;

    @Column(name = "create_time")
    private ZonedDateTime createTime;

    @Column(name = "update_time")
    private ZonedDateTime updateTime;

    @Column(name = "created_index")
    private Long createdIndex;

    @Override
    public String getId() {
        return id;
    }

    @Override
    public void setId(String id) {
        this.id = id;
    }

    public String getCustomerNo() {
        return customerNo;
    }

    public void setCustomerNo(String customerNo) {
        this.customerNo = customerNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLessonNo() {
        return lessonNo;
    }

    public void setLessonNo(String lessonNo) {
        this.lessonNo = lessonNo;
    }

    public String getLesson() {
        return lesson;
    }

    public void setLesson(String lesson) {
        this.lesson = lesson;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getDistrictName() {
        return districtName;
    }

    public void setDistrictName(String districtName) {
        this.districtName = districtName;
    }

    public Date getLessonTime() {
        return lessonTime;
    }

    public void setLessonTime(Date lessonTime) {
        this.lessonTime = lessonTime;
    }

    public String getBelong() {
        return belong;
    }

    public void setBelong(String belong) {
        this.belong = belong;
    }

    public String getBelongRemark() {
        return belongRemark;
    }

    public void setBelongRemark(String belongRemark) {
        this.belongRemark = belongRemark;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getPayment() {
        return payment;
    }

    public void setPayment(String payment) {
        this.payment = payment;
    }

    public Boolean getInvoice() {
        return isInvoice;
    }

    public void setInvoice(Boolean invoice) {
        isInvoice = invoice;
    }

    public String getInvoiceInformation() {
        return invoiceInformation;
    }

    public void setInvoiceInformation(String invoiceInformation) {
        this.invoiceInformation = invoiceInformation;
    }

    public Boolean getSendStatus() {
        return sendStatus;
    }

    public void setSendStatus(Boolean sendStatus) {
        this.sendStatus = sendStatus;
    }

    public String getFreeGoods() {
        return freeGoods;
    }

    public void setFreeGoods(String freeGoods) {
        this.freeGoods = freeGoods;
    }

    public Boolean getSign() {
        return isSign;
    }

    public void setSign(Boolean sign) {
        isSign = sign;
    }

    public Boolean getPass() {
        return isPass;
    }

    public void setPass(Boolean pass) {
        isPass = pass;
    }

    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public String getExpressNum() {
        return expressNum;
    }

    public void setExpressNum(String expressNum) {
        this.expressNum = expressNum;
    }

    public String getExpressCom() {
        return expressCom;
    }

    public void setExpressCom(String expressCom) {
        this.expressCom = expressCom;
    }

    public ZonedDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(ZonedDateTime createTime) {
        this.createTime = createTime;
    }

    public ZonedDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(ZonedDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Long getCreatedIndex() {
        return createdIndex;
    }

    public void setCreatedIndex(Long createdIndex) {
        this.createdIndex = createdIndex;
    }

    @Override
    public String toString() {
        return "Student{" +
            "id='" + id + '\'' +
            ", customerNo='" + customerNo + '\'' +
            ", name='" + name + '\'' +
            ", lessonNo='" + lessonNo + '\'' +
            ", lesson='" + lesson + '\'' +
            ", cityName='" + cityName + '\'' +
            ", districtName='" + districtName + '\'' +
            ", lessonTime=" + lessonTime +
            ", belong='" + belong + '\'' +
            ", belongRemark='" + belongRemark + '\'' +
            ", mobile='" + mobile + '\'' +
            ", payment=" + payment +
            ", isInvoice=" + isInvoice +
            ", invoiceInformation='" + invoiceInformation + '\'' +
            ", sendStatus=" + sendStatus +
            ", freeGoods='" + freeGoods + '\'' +
            ", isSign=" + isSign +
            ", isPass=" + isPass +
            ", score=" + score +
            ", expressNum='" + expressNum + '\'' +
            ", expressCom='" + expressCom + '\'' +
            ", createTime=" + createTime +
            ", updateTime=" + updateTime +
            ", createdIndex=" + createdIndex +
            '}';
    }
}
